#ifndef WEBVIEW_H
#define WEBVIEW_H

#ifdef __cplusplus
extern "C" {
#endif

// 平台检测
#if defined(_WIN32)
    #define WEBVIEW_WINDOWS
    #error "Windows platform is not supported yet"
#elif defined(__APPLE__)
    #define WEBVIEW_MACOS
#else
    #error "Unsupported platform"
#endif

// 改名为 CustomWebView 避免与系统 WebView 冲突
typedef struct CustomWebView CustomWebView;

// 创建 WebView 配置选项
typedef struct {
    int width;
    int height;
    int x;
    int y;
    float alpha;
    int borderless;
    int transparent;
    const char* title;
    int hide_scrollbars;  // 是否隐藏滚动条
    int resizable;        // 新增：是否允许调整大小
} WebViewConfig;

// 创建 WebView
CustomWebView* webview_create(WebViewConfig config);

// 加载 URL
void webview_load_url(CustomWebView* webview, const char* url);

// 加载 HTML
void webview_load_html(CustomWebView* webview, const char* html);

// 加载 HTML 文件
void webview_load_html_file(CustomWebView* webview, const char* filepath);

// 设置透明度
void webview_set_alpha(CustomWebView* webview, float alpha);

// 设置窗口标题
void webview_set_title(CustomWebView* webview, const char* title);

// 设置窗口大小
void webview_set_size(CustomWebView* webview, int width, int height);

// 设置窗口位置
void webview_set_position(CustomWebView* webview, int x, int y);

// 显示窗口
void webview_show(CustomWebView* webview);

// 隐藏窗口
void webview_hide(CustomWebView* webview);

// 销毁 WebView
void webview_destroy(CustomWebView* webview);

// 初始化应用
void webview_init(void);

// 运行事件循环
void webview_run(void);

// 设置拖拽区域的 CSS 选择器
void webview_set_drag_region(CustomWebView* webview, const char* css_selector);

#ifdef __cplusplus
}
#endif

#endif // WEBVIEW_H 